//package org.ejb.entities;
//
//
//
//import javax.persistence.*;
//import java.io.Serializable;
//
///**
// * Cette classe represente une ligne de commande. Un bon de commande possede plusieurs
// * lignes de commande.
// */
//
//@Entity
//public class OrderLine implements Serializable {
//
//    // ======================================
//    // =             Attributs              =
//    // ======================================
//	private static final int LOUER = 1;
//	private static final int ACHETE = 2;		
//    @Id
//    @GeneratedValue(strategy = GenerationType.AUTO)
//    private Long olid;
//    @Column(nullable = false)
//    private Integer quantity;
//    @OneToOne(fetch = FetchType.EAGER)
//    @JoinColumn(name = "item_fk", nullable = false)
//    private Item item;
//    @ManyToOne
//    @JoinColumn(name = "order_fk", nullable = false)
//    private Order order;
// // Le prix unitaire du produit
//    private Float unitCost;
//    // Le sous total du produit
//    private Float subTotal;
//    private int modalite;
//
//    // ======================================
//    // =             Constantes             =
//    // ======================================
//
//    // ======================================
//    // =            Constructeurs           =
//    // ======================================
//
//    public OrderLine() {
//    }
//
//    public OrderLine(Integer quantity, Item item) {
//        this.quantity = quantity;
//        this.item = item;
//    }
//    public OrderLine(Integer quantity, Item item, Float unitCost, int modalite) {
//        this.quantity = quantity;
//        this.item = item;
//        this.modalite = modalite;
//        this.unitCost = unitCost;
//        calculateSubTotal();
//    }
//
//
//    // ======================================
//    // =     Methodes Lifecycle Callback    =
//    // ======================================
//    @PrePersist
//    @PreUpdate
//    private void validateData() {
//        if (quantity == null || quantity < 0)
//            throw new ValidationException("Invalid quantity");
//    }
//
//    // ======================================
//    // =          Methodes publiques        =
//    // ======================================
//    public Float getSubTotal() {
//        return item.getUnitCost() * quantity;
//    }
//    public void calculateSubTotal() {
//    	subTotal = unitCost*quantity;
//    }
//
//    // ======================================
//    // =          Methodes Protegees        =
//    // ======================================
//
//    // ======================================
//    // =             Accesseurs             =
//    // ======================================
//
//    public Long getId() {
//        return olid;
//    }
//
//    public Float getUnitCost() {
//		return unitCost;
//	}
//
//	public void setUnitCost(Float unitCost) {
//		this.unitCost = unitCost;
//	}
//
//	public int getModalite() {
//		return modalite;
//	}
//
//	public void setModalite(int modalite) {
//		this.modalite = modalite;
//	}
//
//	public void setSubTotal(Float subTotal) {
//		this.subTotal = subTotal;
//	}
//
//	public Integer getQuantity() {
//        return quantity;
//    }
//
//    public void setQuantity(Integer quantity) {
//        this.quantity = quantity;
//    }
//
//    public Item getItem() {
//        return item;
//    }
//    
//    public void setItem(Item item) {
//        this.item = item;
//    }
//
//    public void setOrder(Order order) {
//        this.order = order;
//    }
//    
//    public Order getOrder() {
//        return order;
//    }
//
//    // ======================================
//    // =           Methodes Privees         =
//    // ======================================
//
//    // ======================================
//    // =   Methodes hash, equals, toString  =
//    // ======================================
//    @Override
//    public boolean equals(Object o) {
//        if (this == o) return true;
//        if (o == null || getClass() != o.getClass()) return false;
//
//        OrderLine orderLine = (OrderLine) o;
//
//        if (!olid.equals(orderLine.olid)) return false;
//        if (!item.equals(orderLine.item)) return false;
//        if (!quantity.equals(orderLine.quantity)) return false;
//        if (!order.equals(orderLine.order)) return false;
//
//        return true;
//    }
//
//    @Override
//    public int hashCode() {
//        int result;
//        result = olid.hashCode();
//        result = 31 * result + quantity.hashCode();
//        result = 31 * result + item.hashCode();
//        result = 31 * result + order.hashCode();
//        return result;
//    }
//
//    @Override
//    public String toString() {
//        final StringBuilder sb = new StringBuilder();
//        sb.append("OrderLine");
//        sb.append("{id=").append(olid);
//        sb.append(", quantity=").append(quantity);
//        sb.append(", item=").append(item);
//        sb.append(", order=").append(order);
//        sb.append('}');
//        return sb.toString();
//    }
//}
